<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 skin-theme-clientpref-day vector-sticky-header-enabled" lang="de" dir="ltr"><head>
<meta charset="UTF-8">
<title>BCH-Code</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="./_res_/favicon.png">
<link rel="canonical" href="https://de.wikipedia.org/wiki/BCH-Code"> <link href="./_mw_/ext.math.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link href="./_mw_/ext.gadget.citeRef.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.defaultPlainlinks.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonHide.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonLayout.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonStyle.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiDarkmode.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiResponsive.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.specialSearch.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
<link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
<link rel="stylesheet" type="text/css" href="./_res_/footer.css">
<link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-BCH-Code rootpage-BCH-Code skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">BCH-Code</span></h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="contentSub">
<div id="mw-content-subtitle"></div>
</div>
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="de" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="de" dir="ltr"><p><b>BCH-Codes</b> (Bose-Chaudhuri-Hocquenghem-Codes) sind <a href="Zyklischer_Code" title="Zyklischer Code">zyklische</a> <a href="Vorw%C3%A4rtsfehlerkorrektur" title="Vorwärtsfehlerkorrektur">fehlerkorrigierende</a> <a href="Kanalkodierung" title="Kanalkodierung">Codes</a>, welche in der <a href="Digitale_Signalverarbeitung" title="Digitale Signalverarbeitung">digitalen Signalverarbeitung</a> und <a href="Datenspeicher" title="Datenspeicher">Datenspeicherung</a> eingesetzt werden. Der Name BCH ergibt sich aus den Anfangsbuchstaben der drei Wissenschaftler, die diesen Code entwickelt haben: <a href="Raj_Chandra_Bose" title="Raj Chandra Bose">R. C. Bose</a>, <a href="D._K._Ray-Chaudhuri" class="mw-redirect" title="D. K. Ray-Chaudhuri">D. K. Ray-Chaudhuri</a> und A. Hocquenghem (1908–1990). BCH-Codes korrigieren mehrere 1-Bit-Fehler in einem längeren Nutzer-Datenwort.
</p>
<div class="mw-heading mw-heading2"><h2 id="Definition">Definition</h2></div>
<p>Sei <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \beta }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>β<!-- β --></mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \beta }</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/7ed48a5e36207156fb792fa79d29925d2f7901e8.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:1.332ex; height:2.509ex;" alt="{\displaystyle \beta }" loading="lazy"></span> eine primitive <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle n}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>n</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle n}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/a601995d55609f2d9f5e233e36fbe9ea26011b3b.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.395ex; height:1.676ex;" alt="{\displaystyle n}" loading="lazy"></span>-te <a href="Einheitswurzel" title="Einheitswurzel">Einheitswurzel</a> in einem <a href="K%C3%B6rpererweiterung" title="Körpererweiterung">Erweiterungskörper</a> des <a href="Endlicher_K%C3%B6rper" title="Endlicher Körper">endlichen Körpers</a> <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbb {F} _{q}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="double-struck">F</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>q</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbb {F} _{q}}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/dbb96e056c071d13fc7702013f9273e7f5cd88a7.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:2.409ex; height:2.843ex;" alt="{\displaystyle \mathbb {F} _{q}}" loading="lazy"></span>. Seien <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle l,\delta \in \mathbb {N} }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>l</mi>
<mo>,</mo>
<mi>δ<!-- δ --></mi>
<mo>∈<!-- ∈ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="double-struck">N</mi>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle l,\delta \in \mathbb {N} }</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/2ea70f078aa760d863acae191ecd99cad24dd181.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:7.295ex; height:2.676ex;" alt="{\displaystyle l,\delta \in \mathbb {N} }" loading="lazy"></span>, <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \delta \geq 2}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>δ<!-- δ --></mi>
<mo>≥<!-- ≥ --></mo>
<mn>2</mn>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \delta \geq 2}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/af8f47dbf13246e1845c1c1b5b58e5b1d825e7b5.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.505ex; width:5.31ex; height:2.509ex;" alt="{\displaystyle \delta \geq 2}" loading="lazy"></span>, und C der zyklische Code, dessen <a href="Generatorpolynom" class="mw-redirect" title="Generatorpolynom">Generatorpolynom</a> das Produkt der verschiedenen <a href="Minimalpolynom" class="mw-disambig" title="Minimalpolynom">Minimalpolynome</a> von <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \beta ^{l},\dots ,\beta ^{l+\delta -2}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msup>
<mi>β<!-- β --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>l</mi>
</mrow>
</msup>
<mo>,</mo>
<mo>…<!-- … --></mo>
<mo>,</mo>
<msup>
<mi>β<!-- β --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>l</mi>
<mo>+</mo>
<mi>δ<!-- δ --></mi>
<mo>−<!-- − --></mo>
<mn>2</mn>
</mrow>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \beta ^{l},\dots ,\beta ^{l+\delta -2}}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/97c4b3229873be1cc5e78171e5b22338e470e081.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:13.418ex; height:3.009ex;" alt="{\displaystyle \beta ^{l},\dots ,\beta ^{l+\delta -2}}" loading="lazy"></span> ist. (Dann besteht C also aus allen <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle f\in \mathbb {F} _{q}[x]/(x^{n}-1)}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>f</mi>
<mo>∈<!-- ∈ --></mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="double-struck">F</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>q</mi>
</mrow>
</msub>
<mo stretchy="false">[</mo>
<mi>x</mi>
<mo stretchy="false">]</mo>
<mrow class="MJX-TeXAtom-ORD">
<mo>/</mo>
</mrow>
<mo stretchy="false">(</mo>
<msup>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
</mrow>
</msup>
<mo>−<!-- − --></mo>
<mn>1</mn>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle f\in \mathbb {F} _{q}[x]/(x^{n}-1)}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/34f463ef434d0853ae5b294cdebeefe3065e6666.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:18.674ex; height:3.009ex;" alt="{\displaystyle f\in \mathbb {F} _{q}[x]/(x^{n}-1)}" loading="lazy"></span> mit <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle f(\beta ^{l})=\dots =f(\beta ^{l+\delta -2})=0}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>f</mi>
<mo stretchy="false">(</mo>
<msup>
<mi>β<!-- β --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>l</mi>
</mrow>
</msup>
<mo stretchy="false">)</mo>
<mo>=</mo>
<mo>⋯<!-- ⋯ --></mo>
<mo>=</mo>
<mi>f</mi>
<mo stretchy="false">(</mo>
<msup>
<mi>β<!-- β --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>l</mi>
<mo>+</mo>
<mi>δ<!-- δ --></mi>
<mo>−<!-- − --></mo>
<mn>2</mn>
</mrow>
</msup>
<mo stretchy="false">)</mo>
<mo>=</mo>
<mn>0</mn>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle f(\beta ^{l})=\dots =f(\beta ^{l+\delta -2})=0}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/4d936a940593d6ee7ac5e48e5b306970ead559c6.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:27.596ex; height:3.176ex;" alt="{\displaystyle f(\beta ^{l})=\dots =f(\beta ^{l+\delta -2})=0}" loading="lazy"></span>), dann nennt man C einen <b>BCH-Code</b> mit <b>geplantem Minimalabstand</b> <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \delta }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>δ<!-- δ --></mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \delta }</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/c5321cfa797202b3e1f8620663ff43c4660ea03a.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.049ex; height:2.343ex;" alt="{\displaystyle \delta }" loading="lazy"></span>, wobei C den Minimalabstand <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle d\geq \delta }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>d</mi>
<mo>≥<!-- ≥ --></mo>
<mi>δ<!-- δ --></mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle d\geq \delta }</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/6573ee59fb874952c25e94fae6f69916e79710b1.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.505ex; width:5.363ex; height:2.509ex;" alt="{\displaystyle d\geq \delta }" loading="lazy"></span> hat.
</p><p>Für den Fall <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle l=1}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>l</mi>
<mo>=</mo>
<mn>1</mn>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle l=1}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/8fc60b21200ebf2b338c4fa71b103cb697b02bd3.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:4.954ex; height:2.176ex;" alt="{\displaystyle l=1}" loading="lazy"></span> spricht man von einem BCH-Code im <b>gewöhnlichen Sinn</b>.
</p><p>Falls ein m existiert mit <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle n=q^{m}-1}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>n</mi>
<mo>=</mo>
<msup>
<mi>q</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>m</mi>
</mrow>
</msup>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle n=q^{m}-1}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/6f0ba9e17d688cdf4fb87e163af43f9c590bd5fe.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:11.25ex; height:2.676ex;" alt="{\displaystyle n=q^{m}-1}" loading="lazy"></span> (d. h. <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \beta }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>β<!-- β --></mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \beta }</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/7ed48a5e36207156fb792fa79d29925d2f7901e8.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:1.332ex; height:2.509ex;" alt="{\displaystyle \beta }" loading="lazy"></span> ist ein Erzeuger der multiplikativen Gruppe eines Körpers <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbb {F} _{q^{m}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="double-struck">F</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<msup>
<mi>q</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>m</mi>
</mrow>
</msup>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbb {F} _{q^{m}}}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/93a5c1b8e3dec02a83b7a2b45ddde3e90414b71c.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:3.751ex; height:2.843ex;" alt="{\displaystyle \mathbb {F} _{q^{m}}}" loading="lazy"></span>), so spricht man von einem <b>primitiven</b> BCH-Code.
</p><p>Ein <a href="Reed-Solomon-Code" title="Reed-Solomon-Code">Reed-Solomon-Code</a> ist ein primitiver BCH-Code im gewöhnlichen Sinn, für den <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle n=q-1}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>n</mi>
<mo>=</mo>
<mi>q</mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle n=q-1}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/b1989c9f290cfc2e56144b9fe0790657d730f0ee.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:9.566ex; height:2.509ex;" alt="{\displaystyle n=q-1}" loading="lazy"></span> gilt. Hier sind die Minimalpolynome also von der Form <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle x-\beta ^{i}\in \mathbb {F} _{q}[x],i=1,\ldots ,\delta -1}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>x</mi>
<mo>−<!-- − --></mo>
<msup>
<mi>β<!-- β --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
</mrow>
</msup>
<mo>∈<!-- ∈ --></mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="double-struck">F</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>q</mi>
</mrow>
</msub>
<mo stretchy="false">[</mo>
<mi>x</mi>
<mo stretchy="false">]</mo>
<mo>,</mo>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
<mo>,</mo>
<mo>…<!-- … --></mo>
<mo>,</mo>
<mi>δ<!-- δ --></mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle x-\beta ^{i}\in \mathbb {F} _{q}[x],i=1,\ldots ,\delta -1}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/fa29c176d9281221906173ef70b7f6c71908843e.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:30.507ex; height:3.343ex;" alt="{\displaystyle x-\beta ^{i}\in \mathbb {F} _{q}[x],i=1,\ldots ,\delta -1}" loading="lazy"></span>.
</p>
<div class="mw-heading mw-heading2"><h2 id="Einsatzbereiche">Einsatzbereiche</h2></div>
<ul><li>Die sogenannten <a href="Reed-Solomon-Code" title="Reed-Solomon-Code">Reed-Solomon-Codes</a> sind spezielle BCH-Codes und werden z. B. zur Fehlerkorrektur auf <a href="Compact_Disk" class="mw-redirect" title="Compact Disk">Audio-CDs</a> eingesetzt.</li>
<li>Der BCH-Code wird auch bei der Sicherung der TPS-Daten im <a href="DVB-T" title="DVB-T">DVB-T</a>-Standard genutzt.</li>
<li>Der BCH-Code wird zur Sicherung der Nutzdaten in den DVB-S-Standards genutzt. Die Daten werden zunächst BCH-, dann LDPC-kodiert. Der BCH korrigiert hierbei die Restfehlerbits, die nach der LDPC-Korrektur verbleiben können.</li>
<li>Die Funkruf-Protokolle <a href="POCSAG" class="mw-redirect" title="POCSAG">POCSAG</a> und FLEX verwenden den BCH(31,21)-Code</li></ul>
<div class="mw-heading mw-heading2"><h2 id="BCH(15,_7,_5)"><span id="BCH.2815.2C_7.2C_5.29"></span>BCH(15, 7, 5)</h2></div>
<p>Als Beispiel sei ein <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle (n=15,k=7,d_{\text{min}}=5)}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mo stretchy="false">(</mo>
<mi>n</mi>
<mo>=</mo>
<mn>15</mn>
<mo>,</mo>
<mi>k</mi>
<mo>=</mo>
<mn>7</mn>
<mo>,</mo>
<msub>
<mi>d</mi>
<mrow class="MJX-TeXAtom-ORD">
<mtext>min</mtext>
</mrow>
</msub>
<mo>=</mo>
<mn>5</mn>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle (n=15,k=7,d_{\text{min}}=5)}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/cd2e9aa9f4e7b7d56eeabe8b7fec9766cd371433.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:24.61ex; height:2.843ex;" alt="{\displaystyle (n=15,k=7,d_{\text{min}}=5)}" loading="lazy"></span> BCH-Code gegeben. Die Parameter <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle n,k,d_{\text{min}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>n</mi>
<mo>,</mo>
<mi>k</mi>
<mo>,</mo>
<msub>
<mi>d</mi>
<mrow class="MJX-TeXAtom-ORD">
<mtext>min</mtext>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle n,k,d_{\text{min}}}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/29989b2140655690fb7d09cb3c7a5376ba38656f.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:8.855ex; height:2.509ex;" alt="{\displaystyle n,k,d_{\text{min}}}" loading="lazy"></span> sind dabei wie folgt zu interpretieren. Der Code erzeugt Codewörter mit einer Länge von <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle n=15}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>n</mi>
<mo>=</mo>
<mn>15</mn>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle n=15}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/15376579267b277377fc09465f44e0ec1c761891.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:6.818ex; height:2.176ex;" alt="{\displaystyle n=15}" loading="lazy"></span> <a href="Bit" title="Bit">Bits</a>, wovon <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle k=7}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>k</mi>
<mo>=</mo>
<mn>7</mn>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle k=7}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/cc8926bffa41d9b33e0e7c9c273ed34e46cef580.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:5.472ex; height:2.176ex;" alt="{\displaystyle k=7}" loading="lazy"></span> Bits die kodierte Information enthalten und <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle n-k}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>n</mi>
<mo>−<!-- − --></mo>
<mi>k</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle n-k}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/b98e1d6a69bccd09a4b9b69bdf03a08c1706c8c1.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.505ex; width:5.446ex; height:2.343ex;" alt="{\displaystyle n-k}" loading="lazy"></span> Bits Redundanz zur Korrektur von Übertragungsfehlern dienen. Der Parameter <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle d_{min}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>d</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>m</mi>
<mi>i</mi>
<mi>n</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle d_{min}}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/61f781b0e055ea1ebcb9010af8eafbf6d93c3d4d.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:4.438ex; height:2.509ex;" alt="{\displaystyle d_{min}}" loading="lazy"></span> gibt die minimale Hammingsdistanz des Codes an.
</p><p>Es gilt: Es können Übertragungsfehler von bis zu <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle d_{\mathrm {min} }-1}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>d</mi>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="normal">m</mi>
<mi mathvariant="normal">i</mi>
<mi mathvariant="normal">n</mi>
</mrow>
</mrow>
</msub>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle d_{\mathrm {min} }-1}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/1eac4f16d0a5b78674fdbfd220a6361fbe3e6a21.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:8.184ex; height:2.509ex;" alt="{\displaystyle d_{\mathrm {min} }-1}" loading="lazy"></span> Einzelbitfehlern erkannt werden, es können Übertragungsfehler von bis zu <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle (d_{\mathrm {min} }-1)/2}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mo stretchy="false">(</mo>
<msub>
<mi>d</mi>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="normal">m</mi>
<mi mathvariant="normal">i</mi>
<mi mathvariant="normal">n</mi>
</mrow>
</mrow>
</msub>
<mo>−<!-- − --></mo>
<mn>1</mn>
<mo stretchy="false">)</mo>
<mrow class="MJX-TeXAtom-ORD">
<mo>/</mo>
</mrow>
<mn>2</mn>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle (d_{\mathrm {min} }-1)/2}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/ba2337c2e645c7b4fa86f216dc6feb03559f1cc9.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:12.318ex; height:2.843ex;" alt="{\displaystyle (d_{\mathrm {min} }-1)/2}" loading="lazy"></span> Einzelbitfehlern korrigiert werden. Bündelfehler von bis zu <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle f_{\mathrm {b} }\leq k}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>f</mi>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="normal">b</mi>
</mrow>
</mrow>
</msub>
<mo>≤<!-- ≤ --></mo>
<mi>k</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle f_{\mathrm {b} }\leq k}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/d77f18593a3271784dc780f5618d9dc0d044a891.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:6.595ex; height:2.509ex;" alt="{\displaystyle f_{\mathrm {b} }\leq k}" loading="lazy"></span> <a href="Bit" title="Bit">Bits</a> werden erkannt.
</p><p>Ein BCH-Code wird in der Regel durch sein Generatorpolynom beschrieben. Im gegebenen Beispiel lautet das Generatorpolynom <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle g(x)=x^{8}+x^{7}+x^{6}+x^{4}+1}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>g</mi>
<mo stretchy="false">(</mo>
<mi>x</mi>
<mo stretchy="false">)</mo>
<mo>=</mo>
<msup>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>8</mn>
</mrow>
</msup>
<mo>+</mo>
<msup>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>7</mn>
</mrow>
</msup>
<mo>+</mo>
<msup>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>6</mn>
</mrow>
</msup>
<mo>+</mo>
<msup>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>4</mn>
</mrow>
</msup>
<mo>+</mo>
<mn>1</mn>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle g(x)=x^{8}+x^{7}+x^{6}+x^{4}+1}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/bb6a1cb14b3c908e2b9aa5f69f1706df73710e4f.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:29.413ex; height:3.176ex;" alt="{\displaystyle g(x)=x^{8}+x^{7}+x^{6}+x^{4}+1}" loading="lazy"></span>. Die Anzahl der Prüfbits <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle n-k}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>n</mi>
<mo>−<!-- − --></mo>
<mi>k</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle n-k}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/b98e1d6a69bccd09a4b9b69bdf03a08c1706c8c1.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.505ex; width:5.446ex; height:2.343ex;" alt="{\displaystyle n-k}" loading="lazy"></span> lässt sich übrigens immer aus dem Generatorpolynom ablesen. Es gilt <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle n-k=\operatorname {Grad} (g)}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>n</mi>
<mo>−<!-- − --></mo>
<mi>k</mi>
<mo>=</mo>
<mi>Grad</mi>
<mo><!-- --></mo>
<mo stretchy="false">(</mo>
<mi>g</mi>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle n-k=\operatorname {Grad} (g)}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/0e3223a6be97bdf7041cfe830eed852627e45c9d.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:16.661ex; height:2.843ex;" alt="{\displaystyle n-k=\operatorname {Grad} (g)}" loading="lazy"></span>.
</p><p>Für die Dimension des Codes gilt: <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \dim C=n-\operatorname {Grad} (g)=15-8=7=k}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>dim</mi>
<mo><!-- --></mo>
<mi>C</mi>
<mo>=</mo>
<mi>n</mi>
<mo>−<!-- − --></mo>
<mi>Grad</mi>
<mo><!-- --></mo>
<mo stretchy="false">(</mo>
<mi>g</mi>
<mo stretchy="false">)</mo>
<mo>=</mo>
<mn>15</mn>
<mo>−<!-- − --></mo>
<mn>8</mn>
<mo>=</mo>
<mn>7</mn>
<mo>=</mo>
<mi>k</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \dim C=n-\operatorname {Grad} (g)=15-8=7=k}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/6da96e7aa0a5a27431e1f8945cbc0c3e6554d333.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:39.475ex; height:2.843ex;" alt="{\displaystyle \dim C=n-\operatorname {Grad} (g)=15-8=7=k}" loading="lazy"></span>.
</p>
<div class="mw-heading mw-heading3"><h3 id="Kodieren">Kodieren</h3></div>
<p>Zum Kodieren mit BCH-Kodes können das Multiplikations- oder das Divisionsverfahren verwendet werden.
</p>
<div class="mw-heading mw-heading3"><h3 id="Multiplikationsverfahren">Multiplikationsverfahren</h3></div>
<p>Beim Multiplikationsverfahren wird das zu kodierende Quellkodewort aus <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle l=7}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>l</mi>
<mo>=</mo>
<mn>7</mn>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle l=7}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/d1c8a01c077ae742432b1ccd40b4bf7bd1c2be64.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:4.954ex; height:2.176ex;" alt="{\displaystyle l=7}" loading="lazy"></span> <a href="Bit" title="Bit">Bits</a> einfach mit dem Generatorpolynom des BCH-Codes multipliziert. Es gilt: <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle a(x)=a^{*}(x)\cdot g(x)}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>a</mi>
<mo stretchy="false">(</mo>
<mi>x</mi>
<mo stretchy="false">)</mo>
<mo>=</mo>
<msup>
<mi>a</mi>
<mrow class="MJX-TeXAtom-ORD">
<mo>∗<!-- ∗ --></mo>
</mrow>
</msup>
<mo stretchy="false">(</mo>
<mi>x</mi>
<mo stretchy="false">)</mo>
<mo>⋅<!-- ⋅ --></mo>
<mi>g</mi>
<mo stretchy="false">(</mo>
<mi>x</mi>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle a(x)=a^{*}(x)\cdot g(x)}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/9d53787767e9d0b097904df7c21c0800a30b0c50.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:18.824ex; height:2.843ex;" alt="{\displaystyle a(x)=a^{*}(x)\cdot g(x)}" loading="lazy"></span>. Dabei steht <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle a(x)}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>a</mi>
<mo stretchy="false">(</mo>
<mi>x</mi>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle a(x)}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/5d685172ca5d7f10d1e9dfd16cffc5a54bf1301a.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:4.369ex; height:2.843ex;" alt="{\displaystyle a(x)}" loading="lazy"></span> für das kodierte Kanalkodewort, <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle a^{*}(x)}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msup>
<mi>a</mi>
<mrow class="MJX-TeXAtom-ORD">
<mo>∗<!-- ∗ --></mo>
</mrow>
</msup>
<mo stretchy="false">(</mo>
<mi>x</mi>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle a^{*}(x)}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/b2e219e6e811732386b67d87ee648a2f9d849f88.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:5.423ex; height:2.843ex;" alt="{\displaystyle a^{*}(x)}" loading="lazy"></span> steht für das unkodierte Quellkodewort. Die Multiplikation kann sowohl mit Polynomen als auch mit einer binären Darstellung der Polynome durchgeführt werden.
</p><p>Hier wollen wir ein Beispiel in binärer Darstellung durchrechnen:
</p><p>Das gegebene Generatorpolynom <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle g(x)=x^{8}+x^{7}+x^{6}+x^{4}+1}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>g</mi>
<mo stretchy="false">(</mo>
<mi>x</mi>
<mo stretchy="false">)</mo>
<mo>=</mo>
<msup>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>8</mn>
</mrow>
</msup>
<mo>+</mo>
<msup>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>7</mn>
</mrow>
</msup>
<mo>+</mo>
<msup>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>6</mn>
</mrow>
</msup>
<mo>+</mo>
<msup>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>4</mn>
</mrow>
</msup>
<mo>+</mo>
<mn>1</mn>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle g(x)=x^{8}+x^{7}+x^{6}+x^{4}+1}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/bb6a1cb14b3c908e2b9aa5f69f1706df73710e4f.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:29.413ex; height:3.176ex;" alt="{\displaystyle g(x)=x^{8}+x^{7}+x^{6}+x^{4}+1}" loading="lazy"></span> lässt sich binär als die Folge <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle g=111010001}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>g</mi>
<mo>=</mo>
<mn>111010001</mn>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle g=111010001}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/d76a25643839a5b2ecaf3f3e2facb27e4e8e23ab.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:14.677ex; height:2.509ex;" alt="{\displaystyle g=111010001}" loading="lazy"></span> darstellen (die Folge ist dabei zu interpretieren als <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle g(x)=1\cdot x^{8}+1\cdot x^{7}+1\cdot x^{6}+0\cdot x^{5}+1\cdot x^{4}+0\cdot x^{3}+0\cdot x^{2}+0\cdot x^{1}+1\cdot x^{0}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>g</mi>
<mo stretchy="false">(</mo>
<mi>x</mi>
<mo stretchy="false">)</mo>
<mo>=</mo>
<mn>1</mn>
<mo>⋅<!-- ⋅ --></mo>
<msup>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>8</mn>
</mrow>
</msup>
<mo>+</mo>
<mn>1</mn>
<mo>⋅<!-- ⋅ --></mo>
<msup>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>7</mn>
</mrow>
</msup>
<mo>+</mo>
<mn>1</mn>
<mo>⋅<!-- ⋅ --></mo>
<msup>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>6</mn>
</mrow>
</msup>
<mo>+</mo>
<mn>0</mn>
<mo>⋅<!-- ⋅ --></mo>
<msup>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>5</mn>
</mrow>
</msup>
<mo>+</mo>
<mn>1</mn>
<mo>⋅<!-- ⋅ --></mo>
<msup>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>4</mn>
</mrow>
</msup>
<mo>+</mo>
<mn>0</mn>
<mo>⋅<!-- ⋅ --></mo>
<msup>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>3</mn>
</mrow>
</msup>
<mo>+</mo>
<mn>0</mn>
<mo>⋅<!-- ⋅ --></mo>
<msup>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msup>
<mo>+</mo>
<mn>0</mn>
<mo>⋅<!-- ⋅ --></mo>
<msup>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msup>
<mo>+</mo>
<mn>1</mn>
<mo>⋅<!-- ⋅ --></mo>
<msup>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle g(x)=1\cdot x^{8}+1\cdot x^{7}+1\cdot x^{6}+0\cdot x^{5}+1\cdot x^{4}+0\cdot x^{3}+0\cdot x^{2}+0\cdot x^{1}+1\cdot x^{0}}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/e2d614b3462d1e5dc535e3ba9f2fdb9a51c80c59.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:77.106ex; height:3.176ex;" alt="{\displaystyle g(x)=1\cdot x^{8}+1\cdot x^{7}+1\cdot x^{6}+0\cdot x^{5}+1\cdot x^{4}+0\cdot x^{3}+0\cdot x^{2}+0\cdot x^{1}+1\cdot x^{0}}" loading="lazy"></span>).
</p><p>Als zu kodierendes Quellkodewort dient in unserem Beispiel <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle a^{*}=1001011}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msup>
<mi>a</mi>
<mrow class="MJX-TeXAtom-ORD">
<mo>∗<!-- ∗ --></mo>
</mrow>
</msup>
<mo>=</mo>
<mn>1001011</mn>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle a^{*}=1001011}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/16a691241978fae1f6762ef90bc1ed829e0ad2d0.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:13.52ex; height:2.343ex;" alt="{\displaystyle a^{*}=1001011}" loading="lazy"></span> bzw. <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle a^{*}(x)=1\cdot x^{6}+0\cdot x^{5}+0\cdot x^{4}+1\cdot x^{3}+0\cdot x^{2}+1\cdot x^{1}+1\cdot x^{0}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msup>
<mi>a</mi>
<mrow class="MJX-TeXAtom-ORD">
<mo>∗<!-- ∗ --></mo>
</mrow>
</msup>
<mo stretchy="false">(</mo>
<mi>x</mi>
<mo stretchy="false">)</mo>
<mo>=</mo>
<mn>1</mn>
<mo>⋅<!-- ⋅ --></mo>
<msup>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>6</mn>
</mrow>
</msup>
<mo>+</mo>
<mn>0</mn>
<mo>⋅<!-- ⋅ --></mo>
<msup>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>5</mn>
</mrow>
</msup>
<mo>+</mo>
<mn>0</mn>
<mo>⋅<!-- ⋅ --></mo>
<msup>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>4</mn>
</mrow>
</msup>
<mo>+</mo>
<mn>1</mn>
<mo>⋅<!-- ⋅ --></mo>
<msup>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>3</mn>
</mrow>
</msup>
<mo>+</mo>
<mn>0</mn>
<mo>⋅<!-- ⋅ --></mo>
<msup>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msup>
<mo>+</mo>
<mn>1</mn>
<mo>⋅<!-- ⋅ --></mo>
<msup>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msup>
<mo>+</mo>
<mn>1</mn>
<mo>⋅<!-- ⋅ --></mo>
<msup>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle a^{*}(x)=1\cdot x^{6}+0\cdot x^{5}+0\cdot x^{4}+1\cdot x^{3}+0\cdot x^{2}+1\cdot x^{1}+1\cdot x^{0}}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/d0053f429cb8d844409856d68bc355d7229c8e89.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:62.142ex; height:3.176ex;" alt="{\displaystyle a^{*}(x)=1\cdot x^{6}+0\cdot x^{5}+0\cdot x^{4}+1\cdot x^{3}+0\cdot x^{2}+1\cdot x^{1}+1\cdot x^{0}}" loading="lazy"></span>.
</p><p>Um das kodierte Kanalkodewort zu erhalten, müssen wir jetzt also einfach <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle a^{*}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msup>
<mi>a</mi>
<mrow class="MJX-TeXAtom-ORD">
<mo>∗<!-- ∗ --></mo>
</mrow>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle a^{*}}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/5e8ebbdafec4421aba60c540bcd665fe9aaa5c51.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:2.284ex; height:2.343ex;" alt="{\displaystyle a^{*}}" loading="lazy"></span> mit <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle g}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>g</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle g}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/d3556280e66fe2c0d0140df20935a6f057381d77.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:1.116ex; height:2.009ex;" alt="{\displaystyle g}" loading="lazy"></span> multiplizieren:
</p><p><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle a=a^{*}\cdot g=1001011\cdot 111010001=111100010111011}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>a</mi>
<mo>=</mo>
<msup>
<mi>a</mi>
<mrow class="MJX-TeXAtom-ORD">
<mo>∗<!-- ∗ --></mo>
</mrow>
</msup>
<mo>⋅<!-- ⋅ --></mo>
<mi>g</mi>
<mo>=</mo>
<mn>1001011</mn>
<mo>⋅<!-- ⋅ --></mo>
<mn>111010001</mn>
<mo>=</mo>
<mn>111100010111011</mn>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle a=a^{*}\cdot g=1001011\cdot 111010001=111100010111011}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/5abae2cc31f57b1c326ad436cd03ac08024f6163.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:53.32ex; height:2.676ex;" alt="{\displaystyle a=a^{*}\cdot g=1001011\cdot 111010001=111100010111011}" loading="lazy"></span>
</p>
<div class="mw-heading mw-heading3"><h3 id="Divisionsverfahren">Divisionsverfahren</h3></div>
<p>Das Divisionsverfahren ermöglicht es zu einem gegebenen Quellkodewort genau jenes Kanalkodewort zu ermitteln, welches das gegebene Quellkodewort als Präfix hat, weswegen man sagt, das Verfahren liefert einen systematischen Kode. Für ein gegebenes Generatorpolynom <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle g}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>g</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle g}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/d3556280e66fe2c0d0140df20935a6f057381d77.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:1.116ex; height:2.009ex;" alt="{\displaystyle g}" loading="lazy"></span> und ein Quellkodewort <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle a^{*}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msup>
<mi>a</mi>
<mrow class="MJX-TeXAtom-ORD">
<mo>∗<!-- ∗ --></mo>
</mrow>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle a^{*}}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/5e8ebbdafec4421aba60c540bcd665fe9aaa5c51.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:2.284ex; height:2.343ex;" alt="{\displaystyle a^{*}}" loading="lazy"></span> errechnet man das zugehörige Kanalkodewort <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle a}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>a</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle a}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/ffd2487510aa438433a2579450ab2b3d557e5edc.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.23ex; height:1.676ex;" alt="{\displaystyle a}" loading="lazy"></span> nach Divisionsverfahren wie folgt:
</p><p><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle a:=a^{*}\cdot x^{k}-\left(a^{*}\cdot x^{k}\right){\bmod {g}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>a</mi>
<mo>:=</mo>
<msup>
<mi>a</mi>
<mrow class="MJX-TeXAtom-ORD">
<mo>∗<!-- ∗ --></mo>
</mrow>
</msup>
<mo>⋅<!-- ⋅ --></mo>
<msup>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msup>
<mo>−<!-- − --></mo>
<mrow>
<mo>(</mo>
<mrow>
<msup>
<mi>a</mi>
<mrow class="MJX-TeXAtom-ORD">
<mo>∗<!-- ∗ --></mo>
</mrow>
</msup>
<mo>⋅<!-- ⋅ --></mo>
<msup>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msup>
</mrow>
<mo>)</mo>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mo lspace="thickmathspace" rspace="thickmathspace">mod</mo>
<mrow class="MJX-TeXAtom-ORD">
<mi>g</mi>
</mrow>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle a:=a^{*}\cdot x^{k}-\left(a^{*}\cdot x^{k}\right){\bmod {g}}}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/440ccf28ac3bdb5ab7de8ad9125d64e69efbd944.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:29.893ex; height:3.343ex;" alt="{\displaystyle a:=a^{*}\cdot x^{k}-\left(a^{*}\cdot x^{k}\right){\bmod {g}}}" loading="lazy"></span>
</p><p>Das heißt, man muss den Rest der Polynom-Division <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \left(a^{*}\cdot x^{k}\right):g}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow>
<mo>(</mo>
<mrow>
<msup>
<mi>a</mi>
<mrow class="MJX-TeXAtom-ORD">
<mo>∗<!-- ∗ --></mo>
</mrow>
</msup>
<mo>⋅<!-- ⋅ --></mo>
<msup>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msup>
</mrow>
<mo>)</mo>
</mrow>
<mo>:</mo>
<mi>g</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \left(a^{*}\cdot x^{k}\right):g}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/9da753df08603f060eec36a33867dc8869a80e53.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:11.565ex; height:3.343ex;" alt="{\displaystyle \left(a^{*}\cdot x^{k}\right):g}" loading="lazy"></span> ermitteln und diesen von <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle a^{*}\cdot x^{k}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msup>
<mi>a</mi>
<mrow class="MJX-TeXAtom-ORD">
<mo>∗<!-- ∗ --></mo>
</mrow>
</msup>
<mo>⋅<!-- ⋅ --></mo>
<msup>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle a^{*}\cdot x^{k}}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/04c4210acd26afa56681d0a22f809eda1845c7c2.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:6.382ex; height:2.676ex;" alt="{\displaystyle a^{*}\cdot x^{k}}" loading="lazy"></span> subtrahieren. Am Beispiel von oben:
</p><p><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\begin{array}{ccccc}g&=&x^{8}+x^{7}+x^{6}+x^{4}+1&{\mathrel {\widehat {=}}}&111010001\\a^{*}&=&x^{6}+x^{3}+x+1&{\mathrel {\widehat {=}}}&1001011\\a^{*}\cdot x^{k}&=&x^{14}+x^{11}+x^{9}+x^{8}&{\mathrel {\widehat {=}}}&100101100000000\end{array}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mtable columnalign="center center center center center" rowspacing="4pt" columnspacing="1em">
<mtr>
<mtd>
<mi>g</mi>
</mtd>
<mtd>
<mo>=</mo>
</mtd>
<mtd>
<msup>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>8</mn>
</mrow>
</msup>
<mo>+</mo>
<msup>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>7</mn>
</mrow>
</msup>
<mo>+</mo>
<msup>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>6</mn>
</mrow>
</msup>
<mo>+</mo>
<msup>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>4</mn>
</mrow>
</msup>
<mo>+</mo>
<mn>1</mn>
</mtd>
<mtd>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-REL">
<mrow class="MJX-TeXAtom-ORD">
<mover>
<mo>=</mo>
<mo>^<!-- ^ --></mo>
</mover>
</mrow>
</mrow>
</mrow>
</mtd>
<mtd>
<mn>111010001</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<msup>
<mi>a</mi>
<mrow class="MJX-TeXAtom-ORD">
<mo>∗<!-- ∗ --></mo>
</mrow>
</msup>
</mtd>
<mtd>
<mo>=</mo>
</mtd>
<mtd>
<msup>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>6</mn>
</mrow>
</msup>
<mo>+</mo>
<msup>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>3</mn>
</mrow>
</msup>
<mo>+</mo>
<mi>x</mi>
<mo>+</mo>
<mn>1</mn>
</mtd>
<mtd>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-REL">
<mrow class="MJX-TeXAtom-ORD">
<mover>
<mo>=</mo>
<mo>^<!-- ^ --></mo>
</mover>
</mrow>
</mrow>
</mrow>
</mtd>
<mtd>
<mn>1001011</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<msup>
<mi>a</mi>
<mrow class="MJX-TeXAtom-ORD">
<mo>∗<!-- ∗ --></mo>
</mrow>
</msup>
<mo>⋅<!-- ⋅ --></mo>
<msup>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msup>
</mtd>
<mtd>
<mo>=</mo>
</mtd>
<mtd>
<msup>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>14</mn>
</mrow>
</msup>
<mo>+</mo>
<msup>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>11</mn>
</mrow>
</msup>
<mo>+</mo>
<msup>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>9</mn>
</mrow>
</msup>
<mo>+</mo>
<msup>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>8</mn>
</mrow>
</msup>
</mtd>
<mtd>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-REL">
<mrow class="MJX-TeXAtom-ORD">
<mover>
<mo>=</mo>
<mo>^<!-- ^ --></mo>
</mover>
</mrow>
</mrow>
</mrow>
</mtd>
<mtd>
<mn>100101100000000</mn>
</mtd>
</mtr>
</mtable>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle {\begin{array}{ccccc}g&=&x^{8}+x^{7}+x^{6}+x^{4}+1&{\mathrel {\widehat {=}}}&111010001\\a^{*}&=&x^{6}+x^{3}+x+1&{\mathrel {\widehat {=}}}&1001011\\a^{*}\cdot x^{k}&=&x^{14}+x^{11}+x^{9}+x^{8}&{\mathrel {\widehat {=}}}&100101100000000\end{array}}}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/2c543f2bdbb5bb8bd1c857c192e03d57c16eec5d.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -4.171ex; width:59.536ex; height:9.509ex;" alt="{\displaystyle {\begin{array}{ccccc}g&=&x^{8}+x^{7}+x^{6}+x^{4}+1&\mathrel {\widehat {=}} &111010001\\a^{*}&=&x^{6}+x^{3}+x+1&\mathrel {\widehat {=}} &1001011\\a^{*}\cdot x^{k}&=&x^{14}+x^{11}+x^{9}+x^{8}&\mathrel {\widehat {=}} &100101100000000\end{array}}}" loading="lazy"></span>
</p><p>Die Division in Koeffizienten-Schreibweise lautet dann:
</p>
<pre> 100101100000000 : 111010001 = 1100111
111111010
001010110
010101100
101011000
100010010
110000110
--------
<b>01010111</b>
</pre>
<p><br>
Damit gilt <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle a=100101100000000-01010111=\underbrace {1001011} _{a^{*}}01010111}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>a</mi>
<mo>=</mo>
<mn>100101100000000</mn>
<mo>−<!-- − --></mo>
<mn>01010111</mn>
<mo>=</mo>
<munder>
<mrow class="MJX-TeXAtom-OP MJX-fixedlimits">
<munder>
<mn>1001011</mn>
<mo>⏟<!-- ⏟ --></mo>
</munder>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<msup>
<mi>a</mi>
<mrow class="MJX-TeXAtom-ORD">
<mo>∗<!-- ∗ --></mo>
</mrow>
</msup>
</mrow>
</munder>
<mn>01010111</mn>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle a=100101100000000-01010111=\underbrace {1001011} _{a^{*}}01010111}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/67e76b8d6d42e8a4930d9e162b81e14de9c5cefb.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -3.838ex; width:54.44ex; height:5.676ex;" alt="{\displaystyle a=100101100000000-01010111=\underbrace {1001011} _{a^{*}}01010111}" loading="lazy"></span>.
</p>
<div class="mw-heading mw-heading3"><h3 id="Dekodieren">Dekodieren</h3></div>
<p>Die Dekodierung kann mittels verschiedener Verfahren nach folgendem Muster erfolgen:
</p>
<ol><li>Bestimmung des Syndromwertes (Divisionsrest), indem das empfangene Kanalkodewort <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle a(x)}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>a</mi>
<mo stretchy="false">(</mo>
<mi>x</mi>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle a(x)}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/5d685172ca5d7f10d1e9dfd16cffc5a54bf1301a.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:4.369ex; height:2.843ex;" alt="{\displaystyle a(x)}" loading="lazy"></span> durch das Generatorpolynom <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle g(x)}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>g</mi>
<mo stretchy="false">(</mo>
<mi>x</mi>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle g(x)}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/c6ca91363022bd5e4dcb17e5ef29f78b8ef00b59.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:4.255ex; height:2.843ex;" alt="{\displaystyle g(x)}" loading="lazy"></span> dividiert wird. Ist der Rest ungleich 0 liegen ein oder mehrere Fehler vor.</li>
<li>Bestimmen des Fehlerpolynoms.</li>
<li>Bestimmung der Nullstellen des Fehlerpolynoms zur Ermittlung der Fehlerpositionen im Codewort.</li>
<li>Bestimmung der Fehlerwerte</li></ol>
<p>Übliche Algorithmen zur Dekodierung von BCH-Codes sind der <a href="Berlekamp-Massey-Algorithmus" title="Berlekamp-Massey-Algorithmus">Berlekamp-Massey-Algorithmus</a> oder der Peterson-Gorenstein-Zierler-Algorithmus.
</p>
<div class="mw-heading mw-heading3"><h3 id="Beispiel">Beispiel</h3></div>
<p>Wenn das Codewort vom obigen Beispiel ohne Fehler übertragen wird, bleibt als Rest der Division <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle a:g}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>a</mi>
<mo>:</mo>
<mi>g</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle a:g}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/1d2a891ff58662d3c24b20e4126b08806f4b02c8.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:4.283ex; height:2.009ex;" alt="{\displaystyle a:g}" loading="lazy"></span> Null. Die Division in Koeffizienten-Schreibweise lautet dann:
</p>
<pre><!-- Berechnungen können hier nachgerechnet werden: http://www.flechtmann.net/crc/index.php -->
100101101010111 : 111010001 = 1100111
111010001
001010011
010100110
111010001
100111001
111010001
--------
'''00000000'''
</pre>
<p>Würde das Codewort während der Übertragung verfälscht, beispielsweise zu 10<b>1</b>101<b>01</b>1010111 (Stellen 3, 7 und 8), ergibt sich nach der Polynomdivision ein von 0 verschiedenes Fehlersyndrom:
</p>
<pre> 101101011010111 : 111010001 = 1111100
101110100
101001011
100110100
111001011
000110101
001101011
--------
'''01101001'''
</pre>
<div class="mw-heading mw-heading2"><h2 id="Literatur">Literatur</h2></div>
<ul><li>Shu Lin, Daniel J. Costello: <cite style="font-style:italic">Error Control Coding. Fundamentals and applications</cite>. 2. Auflage. Prentice Hall, Upper Saddle River NJ 2004, ISBN 0-13-042672-5.<span class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rfr_id=info:sid/de.wikipedia.org:BCH-Code&rft.au=Shu+Lin%2C+Daniel+J.+Costello&rft.btitle=Error+Control+Coding.+Fundamentals+and+applications&rft.date=2004&rft.edition=2.&rft.genre=book&rft.isbn=0130426725&rft.place=Upper+Saddle+River+NJ&rft.pub=Prentice+Hall" style="display:none"> </span></li>
<li>Robert H. Morelos-Zaragoza: <cite style="font-style:italic">The Art of Error Correcting Coding</cite>. 2. Auflage. Wiley, New York NY 2006, ISBN 0-470-01558-6.<span class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rfr_id=info:sid/de.wikipedia.org:BCH-Code&rft.au=Robert+H.+Morelos-Zaragoza&rft.btitle=The+Art+of+Error+Correcting+Coding&rft.date=2006&rft.edition=2.&rft.genre=book&rft.isbn=0470015586&rft.place=New+York+NY&rft.pub=Wiley" style="display:none"> </span></li></ul></div><!--htdig_noindex--><div><div class="zim-footer">
Dieser Artikel wurde von <a class="external text" title="Zuletzt bearbeitet am 2023-12-04" href="https://de.wikipedia.org/wiki/?title=BCH-Code&oldid=239748567">Wikipedia</a> herausgegeben. Der Text ist unter <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.de">Creative Commons Attribution-Share Alike 4.0</a> verfügbar, sofern nicht anders angegeben. Für die Mediendateien können zusätzliche Bedingungen gelten.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
<script src="./_webp_/webpHandler.js"></script>
</body></html>